Electronic device, method and computer program

ABSTRACT

An electronic device comprising a processing unit arranged to determine an estimation signal (y(k)) based on an input signal (x(k)) and based on a non-stationary reference signal (s 0 (k)).

TECHNICAL FIELD

The present disclosure generally pertains to the field of Digital Signal Processing (DSP), in particular to electronic devices, methods and computer programs for determining an estimation signal (e.g. an estimated contribution of a solo instrument) based on an input signal (e.g. a music mix comprising a solo and an accompaniment captured with a microphone) and a non-stationary reference signal (e.g. an accompaniment).

TECHNICAL BACKGROUND

Practicing a musical instrument is usually associated with professional supervision and personalized feedback when it comes to an unskilled apprentice. This is particularly true for a novice. Otherwise, fatigue may set in quickly, and even the most talented student can lose interest in continuing with practice or even in learning music as such. But yet, not everybody is willing to pay a personal tutor, especially if the outcome is unclear. Other factors, such as dispensability, can also influence one's decision. A reasonable compromise may consist in learning agents that take the role of the tutor. And to avoid further spendings on expensive hardware, the agents would preferably be installed on a tablet computer, which as of today is equipped with a speaker and a microphone.

Practicing, e.g., the jazz guitar, one of the main obstacles one would surely encounter from a signal processing point of view is the isolation of the solo from the recording, which as a rule contains the solo and the accompaniment. The latter is generated by the computer and can be deemed known. Thus, the challenging nature of the task stems from the fact that the accompaniment signal is altered by the speaker, the acoustic channel, and the microphone. Furthermore, the high spectral dynamics of musical signals and their high bandwidth render the task problematic for classic solutions.

SUMMARY

According to a first aspect the disclosure provides an electronic device comprising a processor arranged to determine an estimation signal based on an input signal and a non-stationary reference signal.

According to a further aspect the disclosure provides a method comprising determining an estimation signal based on an input signal and based on a non-stationary reference signal.

According to a yet further aspect the disclosure provides a computer program comprising instructions, the instructions when executed on a processor causing the processor to determine an estimation signal based on an input signal and based on a non-stationary reference signal.

Further aspects are set forth in the dependent claims, the following description and the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are explained by way of example with respect to the accompanying drawings, in which:

FIG. 1 depicts, as background art, the operation of an adaptive noise canceller in the form of a block diagram;

FIG. 2 schematically describes the accompaniment cancellation problem;

FIG. 3 schematically describes an electronic device according to an embodiment of the invention;

FIG. 4 schematically shows the angle of arrival θ, spacing Δ, and spatial shift Δ sin θ;

FIGS. 5 a, b, c, d illustrate simulation results in a bar diagram;

FIGS. 6 a, b, c, illustrate the algorithm performance as a function of (a) the FFT size, (b) the shape of the Kaiser-Bessel derived window w.r.t. its free parameter, and (c) the number of non-uniform subbands on a (pseudo-)ERB scale;

FIG. 7a, b illustrate the algorithm performance as a function of (a) the exponent of the Wiener filter and (b) the spectral p-norm of the estimate;

FIG. 8a, b illustrate the algorithm performance as a function of (a) the RMS level (or SPL) difference in decibel between the recorded solo and accompaniment and (b) the delay (samples) mismatch in the channel model;

FIGS. 9a,b illustrate the algorithm performance as a function of (a) the distance between the microphones and (b) the angular mismatch in degrees between the true and the estimated direction of arrival of the solo; and

FIG. 10 schematically describes a method according to an embodiment of the invention.

DETAILED DESCRIPTION OF EMBODIMENTS 1. General Explanations

Before a detailed description of the embodiments under reference to the figures is given, some general explanations concerning the detailed embodiments are made.

An electronic device according to the embodiments may comprise a processor arranged to determine an estimation signal based on an input signal and a non-stationary reference signal.

The electronic device may be a personal computer, a tablet computer, a smartphone, a game station or the like. A processor may be any kind of processing device, for example a central processing unit or other hardware within a computer that executes a program code.

The input signal may be any kind of audio signal, for example an electronic signal produced by a microphone when capturing sound from the environment. In some embodiments, the input signal is a composite audio signal comprising a mix of a solo audio signal (comprising e.g. sound of a solo guitar) and an accompaniment audio signal (comprising e.g. sound of a band consisting of background guitars, keyboards, drums, etc.). The solo audio signal may for example stem from a user who plays or practices a music instrument live. The accompaniment audio signal may be a piece of music which was prerecorded and which is played back by the user by means of an audio player and a loudspeaker so that the user can play its solo over the prerecorded accompaniment.

The input signal may thus be a composite signal that is composed of a modified version of the non-stationary reference signal, e.g. a recorded accompaniment, and a signal of interest, e.g. a recorded solo.

A non-stationary reference signal may be any kind of signal which exhibits high spectral dynamics, characterized by a large bandwidth and a complex spectral envelope that may vary significantly over short time periods. This is to distinguish a non-stationary reference signal from noise, which typically has a flat spectrum with little temporal variation. For example, music signals that embody one or more musical instruments typically possess non-stationary spectral dynamics.

According to the embodiments, the non-stationary reference signal represents a clean version of the signal of interest in the input signal that is to be removed or suppressed.

The non-stationary reference signal may for example be a predefined accompaniment signal. It may for example be a pregenerated or prerecorded signal. The non-stationary reference signal may for example represent the prerecorded music produced by a band or ensemble which plays a piece of music. In some of the embodiments the non-stationary reference signal may be described as “N minus 1”, that is all voices of a piece of music without the solo. The non-stationary reference signal may for example represent the sound of a band consisting of guitars, a keyboard and drums without the soloist (e.g. lead guitar).

The estimation signal may be any kind of digital signal that is obtained by a processing device based on the input signal and a non-stationary reference signal by applying some digital signal processing algorithm. In the embodiments, the estimation signal may represent an estimate of the accompaniment contribution in the input signal. As such, the estimation signal may be removed from the input signal to obtain an audio signal which estimates the solo contribution in the input signal. The estimation signal may thus help to separate the solo contribution in the input signal from the accompaniment contribution in the input signal.

The processor may further be arranged to render the non-stationary reference signal based on an audio file and/or an automatic accompaniment generation engine. The non-stationary reference signal may for example be an audio signal generated by rendering a music file (e.g. in the WAV or MP3 format) stored on a recording medium such as a compact disc or a hard disk drive. Alternatively, the non-stationary reference signal may also be a synthetic accompaniment signal rendered by a music creation software from MIDI.

The processor may be arranged to determine the estimation signal by any algorithm that allows to conclude on a contribution in the input signal that is strongly correlated with the non-stationary reference signal. For example, the processor may use any filter to compute a statistical estimate of an unknown signal using a related signal as an input and filtering that known signal to produce an estimate of the undesired signal in the input signal as an output.

The processor may for example be arranged to determine the estimation signal by applying moving-average Wiener filtering. A Wiener filter minimizes the mean square error between the reference signal and the input signal.

A moving-average Wiener filter may be computed on blocks of sampled data.

The filter typically has a finite impulse response.

The processor may further be arranged to determine an auto-covariance matrix for the non-stationary reference signal, and to determine a cross-covariance matrix for the input signal and the non-stationary reference signal.

The processor may further be arranged to determine optimal filter weights based on the auto-covariance matrix and the cross-covariance matrix. The optimal weights may for example be given by the Wiener-Hopf solution.

The processor may further be arranged to determine the estimation signal by applying Wiener filtering in different subbands. Subband Wiener filtering may be obtained by computing the Wiener filter in the frequency domain and by dividing the frequency axis into a number of subbands.

The processor may for example be arranged to transform the non-stationary reference signal and the input signal into the Fourier domain in order to obtain a frequency-domain reference signal, and, respectively, a frequency-domain input signal.

The processor may for example be arranged to form subbands on an equivalent-rectangular-bandwidth-rate (ERB) scale. According to the embodiments, the equivalent rectangular bandwidth or ERB is a measure used in psychoacoustics, which gives an approximation to the bandwidths of the auditory filters of human hearing using a simplified model of the filters in the form of rectangular band-pass filters.

The processor may further be arranged to determine centroids of the frequency-domain reference signal, and respectively the frequency-domain input signal, in the subbands. A centroid may for example be obtained by averaging a signal within a respective subband. A centroid may for example be obtained by computing the arithmetic mean over all samples in a subband.

The processor may further be arranged to determine a frequency-domain estimation signal based on the centroids.

The processor may further be arranged to determine the estimation signal based on a single-input-double-output signal model. A single-input-double-output signal model may model the signals of two microphones which capture the same audio signal and which are placed in a close proximity of each other.

A single-input-double-output signal model may employ maximal-ratio combining (MRC) as a method of receiver diversity combining.

The processor may further be arranged to determine an estimation error signal based on the observed signal and the estimation signal. The estimation error signal may for example be obtained by subtracting the estimation signal from the input signal. In the embodiments, the estimation error signal corresponds to an estimate of the solo contribution in the input signal.

The processor may further be arranged to determine the estimation error signal by subtracting the estimation signal and the observed signal in the spectral domain. The spectra used for subtracting the estimation signal and the observed signal in the spectral domain may for example be computed using the (short-time) Fourier transform.

The processor may further be arranged to output the estimation error signal as an estimated audio solo signal. In some embodiments, the electronic device generates an audio file from the estimation error signal. The audio file may be stored on a hard disk in the electronic device or it may be transferred to the external of the electronic device via an I/O interface. The user may play back this audio file with an audio player in order to receive feedback of the solo playing which may be helpful in practicing the solo instrument or which may be helpful in preparing for a concert or the like.

The electronic device may further comprise a microphone for capturing the input signal. The input signal may for example be captured by the built-in microphone of a tablet computer or smartphone. Alternatively, the input signal may be captured by a microphone which is external to the electronic device, for example with a microphone which is attached to a personal computer.

The electronic device may further comprise two or more microphones, either integrated into the electronic device or attached to the electronic device.

Even though a single-input-double-output signal model is described here with reference to two microphones, more than two microphones may be used as well. For example arbitrary arrays of microphones may be employed. The microphones of a microphone array may be microphones of the same type which are arranged in close proximity to each other.

A method according to the embodiments may comprise determining an estimation signal based on an input signal and based on a non-stationary reference signal. Exemplifying aspects of determining an estimation signal based on an input signal and based on a non-stationary reference signal have been described above with reference to an electronic device executing such methods.

A computer program according to the embodiments may comprise instructions, the instructions when executed on a processor causing the processor to determine an estimation signal based on an input signal and based on a non-stationary reference signal. Exemplifying aspects of such a computer program determining an estimation signal based on an input signal and based on a non-stationary reference signal have been described above with reference to an electronic device executing such a computer program.

II. Adaptive Noise Cancellation

Adaptive noise cancellation, or cancelling, is a known signal processing technique widely used to suppress additive noise in a corrupted signal. It requires a reference noise input that is strongly correlated with the corrupting noise signal to work properly. In this section, we revisit the main principles of adaptive noise cancellation.

A. Signal Model

FIG. 1 depicts the operation of an adaptive noise canceller in the form of a block diagram. The reference noise no is fed to the adaptive least mean squares (LMS) filter, which produces the estimate y and subtracts it from the noisy input s+n. As it was mentioned before, n₀ and n are correlated, whereas s and n are uncorrelated. All variables are Gaussian with zero mean. From the filter's point of view, the noisy input x is the desired response while the output acts as the error that drives the adaptation. By minimizing the error e in the least-squares sense, the adaptive filter provides the best fit of n₀ for n in x. At the same time, the error, or output, e converges to the best least-squares estimate for the signal s.

B. Adaptive LMS Filtering

The LMS filter is given by the following recurrence relation:

$\begin{matrix} {{w\left( {k + 1} \right)} = {{w(k)} + {\mu \; {n_{0}(k)}{e(k)}}}} & (1) \\ {{{e(k)} = {{x(k)} - \underset{\underset{y{(k)}}{}}{{w^{T}(k)}{n_{0}(k)}}}},} & \; \end{matrix}$

where w(k)ε

^(M) is the weight vector at time instant k, and w(k+1) is the anticipated weight vector, respectively, e(k) is the adaptation error, i.e., the difference between the observed signal x(k) and the noise estimate y(k), n₀(k)ε

^(M) is thus the input noise sequence, and μ is a design parameter, which determines stability, rate of convergence, etc. The scale-invariant version of the LMS filter, which is insensitive to the scaling of the input, n₀(k), is obtained by replacing

$\begin{matrix} \left. {n_{0}(k)}\leftarrow\frac{n_{0}(k)}{{{n_{0}(k)}}_{2}^{2}} \right. & (2) \end{matrix}$

in the upper equation of (1). Hence, this variant is also called the normalized LMS (NLMS) filter. The LMS filter produces an output signal that is the best least-squares estimate of n(k) in x(k). It uses gradient descent to adjust the filter weights.

C. Pre-Whitening

The adaptive LMS filter operates best in presence of white noise. Any correlation between the elements in n₀(k) results in a slower convergence rate due to the associated correlation between the filter coefficients. The convergence rate for non-white, i.e., colored noise improves substantially if the data in n₀(k) is decorrelated. Thus, on the assumption that n₀(k) is an autoregressive process of order P, we may resort to linear prediction to find a corresponding inverse filter, which can be then used to flatten the noise spectrum. This is accomplished as follows. The pre-whitened reference noise signal is

ñ ₀(k)=n ₀(k)−{circumflex over (n)} ₀(k)=v ^(T) n ₀(k),  (3)

where {circumflex over (n)}₀(k) is a weighted sum of the past values of n₀(k),

$\begin{matrix} {{{{\hat{n}}_{0}(k)} = {\sum\limits_{p = 1}^{P}\; {\alpha_{p}{n_{0}\left( {k - p} \right)}}}},} & (4) \end{matrix}$

and a_(p), p=1, 2, . . . , P are the predictor's coefficients. The inverse filter, accordingly, has the following form

v=[1−a ₁ −a ₂ . . . −a _(P)]^(T)  (5)

For the sake of consistency, we proceed in the same way with the noise residual in the error signal using the same weights:

$\begin{matrix} {{\overset{\sim}{e}(k)} = {{{e(k)} - {\sum\limits_{p = 1}^{P}\; {\alpha_{p}{e\left( {k - p} \right)}}}} = {v^{T}{{e(k)}.}}}} & (6) \end{matrix}$

Finally, the update rule for the LMS filter in (1) becomes

w(k+1)=w(k)+μñ ₀(k){tilde over (e)}(k).  (7)

It should be noted that the error signal e(k) in (1) is left as it, i.e. untouched.

What we achieve by decorrelating the elements in n₀(k) is a more circular mean-square-error (MSE) function, which, as an immediate consequence, speeds up the convergence. It is equivalent to normalizing and rotating the hyperboloid in a way that its principal axes align with the (orthogonal) axes of the parameter space

^(M) of w(k). Orthogonalization, or pre-whitening, also helps with non-stationary noise. In that case, however, the inverse filter should be tracked over time. Further details on pre-whitening and the LMS filter's efficiency with non-stationary inputs are known to the skilled person.

D. Moving-Average Wiener Filtering

The corresponding optimal filter is calculated as shown. It represents the solution to which the adaptive filter converges after a sufficiently large number of iterations under stationary conditions. Since the data sequence may be of infinite length, we calculate a different filter for each new block of data.

Let M successive samples of a reference noise, n₀(k), be stored as a vector.

n ₀(k)=[n ₀(k)n ₀(k−1) . . . n ₀(k−M+1)]^(T)  (8)

with n₀(k)ε

^(M). Convolving n₀(k) with

w(k)=[w ₀(k)w ₁(k) . . . w _(M-1)(k)]^(T),  (9)

where w(k)ε

^(M) is a transversal finite impulse response or FIR filter of order M−1, we obtain

y(k)=w ^(T)(k)n ₀(k).  (10)

Now, extending this principle to a block of size N, we have

y(k)=[y(k)y(k+1) . . . y(k+N−1)]  (11)

with y(k)ε

^(1×N), which is obtained according to

y(k)=w ^(T)(k)N ₀(k),  (12)

where N₀(k)ε

^(M×N), M<N, is a Toeplitz matrix, i.e.

N ₀(k)=[n ₀(k)n ₀(k+1) . . . n ₀(k+N−1)].  (13)

The estimation error, or the output, is the difference

e(k)=x(k)−y(k),  (14)

and respectively

e(k)=[e(k)e(k+1) . . . e(k+N−1)]  (15)

with e(k)ε

^(1×N). Equally,

x(k)=[x(k)x(k+1) . . . x(k+N−1)]  (16)

with x(k)ε

^(1×N). Given (10) and (14), we see that the signal ŝ(k) in an arbitrary data block is given by the sequence

e(k)=x(k)−w ^(T)(k)N ₀(k)≡{circumflex over (s)}(k).  (17)

The LMS filter coefficients are adapted via minimization of e²(k), which corresponds to the minimization of the mean error power when s(k), n(k), and n₀(k) are stationary. This on the other hand is equivalent to minimizing the mean noise power by matching the correlated noise n₀(k) to n(k) which is accomplished through w(k). The optimal weights are thus given by the Wiener-Hopf solution

w _(o)(k)=R _(n) ₀ _(n) ₀ ⁻¹(k)p _(n) ₀ _(x)(k),  (18)

where R_(n) ₀ _(n) ₀ (k). is an auto-covariance matrix and p_(n) ₀ _(x)(k) is a cross-covariance vector between n₀(k) and x(k).

In order to compute (18), one would typically replace the variables R_(n) ₀ _(n) ₀ (k) and p_(n) ₀ _(x)(k) by their sample estimates

$\begin{matrix} {{{{\hat{R}}_{N_{0}N_{0}}(k)} = {\frac{1}{N}{N_{0}(k)}{N_{0}^{T}(k)}}}{and}} & (19) \\ {{{\hat{p}}_{N_{0}x}(k)} = {\frac{1}{N}{N_{0}(k)}{{x^{T}(k)}.}}} & (20) \end{matrix}$

This means that the filter w₀(k) is computed over a window of the size M+N−1. As the signal model presumes weak stationarity and ergodicity for n(k), the hop size L for k can be set equal to N to minimize computational cost. If n(k) is non-stationary, however, the hop size, and so the size of x(k) and y(k), should be reduced to a number that corresponds to the size of a segment over which n(k) is stationary. In audio, L can also be chosen according to the temporal resolution of the human car. Note that it may appear that it is necessary to compute the filter itself using M+N−1 samples, whereas the estimated sequence, ŝ(k), might be L samples long. That would be the case, e.g., if M>>L, and thus N>>L to make sure that N>M for computational reasons. In the extremist case, L=1, i.e. the filtering is carried out sample-wise.

From the considerations above, it should become evident that this technique is very expensive for non-stationary noise and for a high-order filter. And even though algorithms exist that do efficiently solve (18) via the Cholesky decomposition e.g., they still possess a considerable computational load and also require a great amount of memory. As a general rule, the order of the filter scales with the spectral dynamics of n(k).

E. Spectral Subtraction

One of the issues related to the above technique is that when s(k), and n(k), are (locally) correlated, y(k) will be estimated with a higher amplitude than the actual noise. This may lead to audible artifacts after subtracting y(k) from x(k). Another issue are abrupt changes, or jumps, of filter weights between consecutive blocks, which may cause clicks and pops. Linear interpolation is one possible approach to handle this. A more effective way to tackle both issues simultaneously is to carry out the subtraction in the spectral domain according to

$\begin{matrix} {{{E(\omega)}} = \left\{ {{{\begin{matrix} \sqrt[p]{{{X(\omega)}}^{p} - {{Y(\omega)}}^{p}} & {{{{if}\mspace{14mu} {{X(\omega)}}} > {{Y(\omega)}}},} \\ 0 & {{otherwise}.} \end{matrix}\arg \; {E(\omega)}} = {\arg \; {X(\omega)}}},} \right.} & (21) \end{matrix}$

where t is the frequency, |·(ω)| refers to the magnitude, and arg·(ω) refers to the argument or phase at ω. The spectra are computed using the short-time Fourier transform, e.g., and p is typically set to 2. The time-domain signal e(k) is obtained by applying the inverse of the transform to (21).

III. Accompaniment Cancellation

In this section, based on the previous considerations we draw a parallel between adaptive noise cancellation and the related accompaniment cancellation problem. Although it appears to be technically similar to the echo cancellation problem, there is a difference. Put simply, echo is a natural phenomenon and echo cancellation is a two-way communication problem. Our case is a one-way communication problem, which serves the purpose of simultaneous self-assessment during practice and also enables a machine analysis of the solo performance.

A. Extended Signal Model

The previous signal model is adapted and further extended in order to comply with the use case. The recorded signal is

x(k)=h(k)*[d(k)+s(k)],  (22)

where d(k) is the desired solo, s(k) the accompaniment, and h(k) the impulse response of the microphone. The asterisk * denotes convolution. More precisely, we consider s(k) to be approximately equal to

s(k)≈Ag(k)*s ₀(k−κ),  (23)

i.e. the result of the colorization of the reference s₀(k) by the speaker g(k), which is attenuated and delayed by κ samples on its path to the microphone through the acoustic channel. Modifications of the solo that are induced by the channel are ignored or are considered as being part of the signal.

Any kind of additive white noise is omitted due to short distances between the sound sources and the microphone. We measure a signal-to-noise ratio (SNR) near 50 dB for the solo, e.g. As before, we postulate statistical independence for the solo and the accompaniment. In addition, the propagation between the speaker and the microphone first and foremost takes place in and over the direct path, see (23) and FIG. 2.

FIG. 2 illustrates the accompaniment cancellation problem. A loudspeaker SPK is arranged to play back an audio signal, which represents the accompaniment. A soloist OBJ (illustrated here as a guitar amplifier) is arranged to produce the sound of the solo instrument. A microphone MIC is arranged to capture the sound played by the soloist OBJ and the accompaniment reproduced by speaker SPK. The solo signal is transferred via path r₁ from the soloist OBJ to microphone MIC. The accompaniment signal is transferred via path r₂ from the speaker SPK to microphone MIC. The transmission path r₂ implies an attenuation A and a delay κ of the accompaniment signal captured at microphone MIC with respect to the reference signal reproduced at speaker SPK. ΔL_(p) denotes the difference between the sound pressure levels (SPL) of the speaker SPK and the guitar amp OBJ (see equation (46)).

B. Convergence Analysis

Applying the optimum solution from (18) to (22), we have

w ₀(k)=R _(s) ₀ _(s) ₀ ⁻¹(k)p _(s) ₀ _(x)(k).  (24)

Now, the sample cross-covariance vector writes

$\begin{matrix} {\begin{matrix} {{{\hat{p}}_{s_{0}x}(k)} = {\frac{1}{N}{S_{0}(k)}{x^{T}(k)}}} \\ {{= {\frac{1}{N}{{S_{0}(k)}\left\lbrack {{D^{T}(k)} + {S^{T}(k)}} \right\rbrack}h}},} \end{matrix}{{and}\mspace{14mu} {so}}} & (25) \\ {{{p_{s_{0}x}(k)} = {\left\lbrack {{R_{s_{0}d}(k)} + {R_{s_{0}s}(k)}} \right\rbrack h}},{where}} & (26) \\ {h = \left\lbrack \begin{matrix} h_{0} & h_{1} & \ldots & {\left. h_{M - 1} \right\rbrack \in {\mathbb{R}}^{M}} \end{matrix} \right.} & (27) \end{matrix}$

is the microphone's finite impulse response of order M−1. The two Toeplitz matrices D(k) and S(k) are constructed in line with

$\begin{matrix} {{{A(k)} = {\left\lbrack \begin{matrix} {a(k)} & {a\left( {k - 1} \right)} & \ldots & {a\left( {k - M + 1} \right)} & \ldots & {a\left( {k - N + 1} \right)} \\ \vdots & {a(k)} & \ldots & {a\left( {k - M + 2} \right)} & \ldots & {a\left( {k - N + 2} \right)} \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & \vdots & \ddots & \vdots & \vdots & \vdots \\ 0 & 0 & \ldots & {a(k)} & \ldots & {a\left( {k - N + M} \right)} \end{matrix} \right\rbrack \in {\mathbb{R}}^{M \times N}}},{M < N}} & (28) \end{matrix}$

(the structure of a Toeplitz matrix used to formulate convolution as a matrix multiplication).

Using (26), (24) becomes

w _(o)(k)=R _(s) ₀ _(s) ₀ ⁻¹(k)[R _(s) ₀ _(d)(k)+R _(s) ₀ _(s)(k)]h.  (29)

From (29) it can be seen that if E{s₀(k)d(k)}=0 ∀k and if E{s₀(k)s(k)}=E{s₀(k)s₀(k)}∀k, i.e. if the channel has no influence on the accompaniment, the optimum filter w₀ is equal (converges) to the microphone's impulse response h. It also means that the filter should be as long as h. However, in practice, the filter should be computed using a finite sample, as indicated by the time index k and the sample size N. And so, depending on the sample covariance between d(k), s(k), and s₀(k), the filter may locally vary. Thus, in some embodiments the hop size between two samples is kept sufficiently small to avoid artifacts at transition points. It should also be taken into consideration that the sample size N should be about ten times longer than the filter length for it to converge towards the optimum. This, inevitably, comes along with a high computational load. The solo estimate is equal to the estimation error, i.e.

$\begin{matrix} \begin{matrix} {{e(k)} = {{x(k)} - {{w_{o}^{T}(k)}{s_{0}(k)}}}} \\ {\overset{(29)}{=}{{h^{T}\left\lbrack {{d(k)} + {s(k)}} \right\rbrack} - {{h^{T}\left\lbrack {{R_{s_{0}d}(k)} + {R_{s_{0}s}(k)}} \right\rbrack}{R_{s_{0}s_{0}}^{- 1}(k)}{s_{0}(k)}(31)}}} \\ {= {{h^{T}\underset{\underset{= {{{d{(k)}}\mspace{14mu} {iff}\mspace{14mu} E{\{{{s_{0}{(k)}}{d{(k)}}}\}}} = 0}}{}}{\left\lbrack {{d(k)} - {{R_{s_{0}d}(k)}{R_{s_{0}s_{0}}^{- 1}(k)}{s_{0}(k)}}} \right\rbrack}} +}} \\ {{h^{T}{\underset{\underset{= {{0\mspace{14mu} {iff}\mspace{14mu} E{\{{{s_{0}{(k)}}{s{(k)}}}\}}} = {E{\{{{s_{0}{(k)}}{s_{0}{(k)}}}\}}}}}{}}{\left\lbrack {{s(k)} - {{R_{s_{0}s}(k)}{R_{s_{0}s_{0}}^{- 1}(k)}{s_{0}(k)}}} \right\rbrack}.}}} \end{matrix} & (30) \end{matrix}$

Eq. (31) can be interpreted as follows. If the guitar player is mute, i.e. d(k)=0, and there is no difference between s₀(k) and s(k), i.e. the speaker and the room are negligible, e(k) is zero and so is the estimate d(k). If the speaker and the room are not negligible, the error depends on how strongly s(k) is correlated with s₀(k). The stronger, the smaller the error. If, however, the player is performing, the error is further subject to the correlation between the solo d(k) and s₀(k). Since the cross-correlation between independent sources is never zero for finite samples, we can expect the solo estimate {circumflex over (d)}(k) to be additionally degraded to the extent of the correlation between the solo and the reference accompaniment. Either way, it can be seen that the signature of the microphone (colorization) is part of the estimate, i.e. it is not equalized.

C. Delay Compensation

Delay compensation may help improve the result of the cancellation, since it will maximize the sample cross-covariance between s(k) and s₀(k). Delay compensation can be done manually or also automatically in a preceding calibration procedure. One option is to play back and record the accompaniment without the solo and to check where the cross-correlation function attains its maximum. In the case at hand, where a tablet computer is utilized for both the playback and the recording, the microphone's distance is about 25 cm from the speaker. Given that the speed of sound in dry air at 20° C. is around 343 m/s, the time delay amounts to 0.72 ms or 32 samples at a sampling rate of 44.1 kHz. But as the delay in this case is much smaller than the sample size, which counts several thousands of observations, it also can be ignored. A much greater time offset between x(k) and s₀(k) is due to the hardware. The exact latency of the speaker and the microphone usually can be found in the system preferences and can be taken into account when determining the delay.

D. Short-Time Subband Wiener Filtering

As an alternative to the standard technique from Section II-D, we present a different technique for computing (24). It may be much faster and may require much less memory. More importantly, the technique is real-time capable.

We resort to the short-time Fourier transform (STFT) and compute the local spectra S₀(ω) and X(ω). Then we form Z subbands on the equivalent rectangular bandwidth rate scale, which is given by

ERBS(f)=21.4·log₁₀(1+4.37·f),  (32)

where f is the frequency in kHz. In the continuous case, ω is equivalent to f. The spectral components in the ζth subband can be represented by the corresponding centroids S₀(ζ) and X(ζ), ζ=1, 2, . . . , Z. This would be equivalent to making a sequence of N samples pass through a non-uniform complex filter bank consisting of Z auditory filters. STFT provides the availability of many optimized libraries to compute the underlying fast Fourier transform (FFT).

The computation of the filter from (24) is as follows. The auto-covariance of S₀(ω) in subband ζ is

$\begin{matrix} {{R_{S_{0}S_{0}}(\zeta)} = {\frac{1}{\Omega_{\zeta}}{\sum\limits_{\inf \; \Omega_{\zeta}}^{\sup \; \Omega_{\zeta}}{{{S_{0}(\omega)}}^{2}\mspace{20mu} {\forall{\omega \in \Omega_{\zeta}}}}}}} & (33) \end{matrix}$

and the cross-covariance between S₀(ω) and X(ω) is

$\begin{matrix} {{{P_{S_{0}X}(\zeta)} = {\frac{1}{\Omega_{\zeta}}{\sum\limits_{\inf \; \Omega_{\zeta}}^{\sup \; \Omega_{\zeta}}{{{{S_{0}^{*}(\omega)}{X(\omega)}}}\mspace{20mu} {\forall{\omega \in \Omega_{\zeta}}}}}}},} & (34) \end{matrix}$

where superscript * denotes complex conjugation. And so,

$\begin{matrix} {{W_{o}(\zeta)} = {\frac{P_{S_{0}X}(\zeta)}{R_{S_{0}S_{0}}(\zeta)}{\forall{\zeta.}}}} & (35) \end{matrix}$

Accordingly, the matched accompaniment is

Y(ω)=W _(o)(ζ)S ₀(ω) ∀ωεΩ_(ζ).  (36)

The error E(ω) is calculated in accordance with (21), where p=1, and transformed back to time domain using either the overlap-add or the overlap-save method. The proposed technique may be very efficient, because: the block size of the STFT N may be relatively small, the filter order Z (number of subbands) may be low (Z is equivalent to M from before), and no matrix inversion is required, only division.

IV. Diversity Combining

Now if we depart from the condition of being restricted to the use of the built-in microphone of a tablet computer, we may also consider other forms of external hardware. One alternative is a microphone array. So, let us focus on the case where there are two identical microphones. They shall be placed in close proximity. According to the Nyquist-Shannon theorem, their distance should be shorter than or equal to half the wavelength of the signal component with the highest frequency f_(max). In regard to our test material, we set the upper limit to 8 kHz. The corresponding wavelength λ_(min) and distance Δ are given by

$\begin{matrix} {{\lambda_{m\; i\; n} = {{\left. \frac{c}{f_{{ma}\; x}} \right.\sim\Delta} = {\frac{\lambda_{m\; i\; n}}{2} = \frac{c}{2f_{{ma}\; x}}}}},} & (37) \end{matrix}$

where c is the speed of sound. Accordingly, the spacing Δ is 2.1 cm for an f_(max) of 8 kHz. So, if we place the second microphone along the line between the first microphone and the solo instrument, the delay time between the two microphones amounts to 1/16 of a millisecond, or 3 periods at 44.1-kHz sampling. Also, if we presume that the instrument is 1 m (or more) away from the array, the impinging solo, in good approximation, has the same amplitude at both microphones. The resulting geometry is depicted in FIG. 4.

FIG. 4 illustrates an array of two microphones MIC1 and MIC2 positioned with a spacing Δ. A sound wavefront arrives from angle of arrival θ. This leads to a spatial shift Δ sin θ between the sound captured by microphone MIC1 and the sound captured by microphone MIC2.

A. Single-Input-Double-Output Signal Model

Based on the above reflections, we amend (22) as follows:

$\begin{matrix} {{\begin{bmatrix} {x_{1}(k)} \\ {x_{2}(k)} \end{bmatrix} = {{h(k)}*\begin{bmatrix} {{d_{1}(k)} + {s_{1}(k)}} \\ {{d_{1}\left( {k - \kappa} \right)} + {s_{2}(k)}} \end{bmatrix}}},} & (38) \end{matrix}$

where x₁(k) and x₂(k) are the signals captured by the array. Only the delay between the two versions of the solo d(k) is taken into account, as it is the signal we seek to enhance. In the Fourier domain, due to the shift theorem, (38) becomes

$\begin{matrix} {\begin{bmatrix} {X_{1}(\omega)} \\ {X_{2}(\omega)} \end{bmatrix} = {{H(\omega)} \cdot \begin{bmatrix} {{D_{1}(\omega)} + {S_{1}(\omega)}} \\ {{W_{N}^{\omega\kappa}{D_{1}(\omega)}} + {S_{2}(\omega)}} \end{bmatrix}}} & (39) \end{matrix}$

with W_(N)=e^(−j2π/N), where e^(•) is the exponential function and j is the imaginary unit. The time shift is equivalent to a phase shift in the Fourier domain, which is a function of ω.

B. Delay Estimation

Looking at (39), one can see that if only the instrument is active, i.e. there is no accompaniment, the two output signals exhibit the following relation in the Fourier domain:

X ₂(ω)=W _(N) ^(ωκ) X ₁(ω).  (40)

In practice, when using the discrete Fourier transform, which is cyclic, (40) still holds largely true. It is because the delay κ is much smaller than the transform size, which is 2048 or 4096 points in the general case. And so, the delay κ may be estimated by taking the median of the below observations:

$\begin{matrix} {\hat{\kappa} = {{\underset{\omega}{median}\left\lbrack {{- \arg}\frac{X_{2}(\omega)}{X_{1}(\omega)}\frac{N}{2\pi \; \omega}} \right\rbrack}{\forall{\omega.}}}} & (41) \end{matrix}$

Alternatively, the delay may be found by selecting the value with the highest number of occurrences in the corresponding histogram. FIG. 4 also shows that the delay can be associated with an angle of arrival θ. The relation is

$\begin{matrix} {{\frac{\kappa}{f_{s}} = {{\frac{\Delta \; \sin \; \theta}{c}->\theta} = {\arcsin \left( {\frac{f_{{ma}\; x}}{f_{s}/2}\kappa} \right)}}},} & (42) \end{matrix}$

where f_(s) is the sampling frequency and f_(max)≦f_(s)/2.

C. Maximal-Ratio Combining

Maximal-ratio combining (MRC) is one known method of receiver diversity combining. It yields the optimum combiner for independent Gaussian interference. MRC is equivalent to the least-squares (LS) solution of the normal equations

$\begin{matrix} {{{\left( {\begin{bmatrix} 1 \\ W_{N}^{\omega\kappa} \end{bmatrix}^{H}\begin{bmatrix} 1 \\ W_{N}^{\omega\kappa} \end{bmatrix}} \right){\hat{D}(\omega)}} = {\begin{bmatrix} 1 \\ W_{N}^{\omega\kappa} \end{bmatrix}^{H}\begin{bmatrix} {{\hat{D}}_{1}(\omega)} \\ {{\hat{D}}_{2}(\omega)} \end{bmatrix}}},} & (43) \end{matrix}$

where superscript H denotes the Hermitian transpose and

$\begin{matrix} {\begin{bmatrix} {{\hat{D}}_{1}(\omega)} \\ {{\hat{D}}_{2}(\omega)} \end{bmatrix} = {\begin{bmatrix} {E_{1}(\omega)} \\ {E_{2}(\omega)} \end{bmatrix}.}} & (44) \end{matrix}$

i.e., it is the output of cancelling the accompaniment in each channel independently according to Section III-D. The MRC solution can thus be formulated more explicitly as

$\begin{matrix} {{\hat{D}(\omega)} = {{{\frac{1}{2}\begin{bmatrix} 1 & W_{N}^{- {\omega\kappa}} \end{bmatrix}}\begin{bmatrix} {E_{1}(\omega)} \\ {E_{2}(\omega)} \end{bmatrix}}.}} & (45) \end{matrix}$

Eq. (45) tells us that the signal from the second microphone is counter-rotated by the phase shift, so that the signals from both microphones are combined into a single estimate {circumflex over (D)}(ω), which yields the maximum ratio between the solo signal and the accompaniment residuals after subtraction.

V. Comparison

In this section, we simulate the accompaniment cancellation problem using prerecorded guitar solos in order to assess and compare the solutions that are elaborated in the previous two sections. We consider the speaker to be 25 cm away from the microphone and the sound object, i.e. the guitar amplifier, to be in 100 cm distance. According to the distance law,

$\begin{matrix} {{{L_{p_{2}} - L_{P_{1}}} = {20\log_{10}\frac{r_{1}}{r_{2}}}},} & (46) \end{matrix}$

we conclude that the sound pressure level (SPL) between the speaker and the guitar amp differs by ΔL_(p)≈12.0 dB. Now, if we postulate that the SPL of the accompaniment is 6.02 dB below the SPL of the guitar amp, the root-mean-square value of the accompaniment in the recorded signal should be 6.02 dB higher than the level of the solo. Such a setting should allow the guitar player, who is deemed to be in the proximity of the amp, to hear his own performance. Note, however, that in the recorded mixture the accompaniment is twice as loud. Other phenomena, such as reverberation or noise, are neglected due to the short distances between the sound sources and the microphone and also for the sake of simplicity. The remaining parameters in (22) and (23) are chosen as follows: the channel delay κ is equivalent to 0.72 ms, g(k) is ignored, and A is arbitrary but distinct from the accompaniment level in the mixture. Sony's C37-FET condenser microphone with a reverberation time of 13.7 ms or 606 samples at 44.1-kHz sampling is modeled by the impulse response h(k). Respectively, we choose the filter length M as the next larger power of 2 to leave a margin. As for the reference solo, it is obtained by convolving h(k) with a prerecorded solo signal d(k), see (22). The simulations are run in MATLAB under Windows 8.1 on 20-s mixtures. With respect to the case where we simulate the use of an array of two microphones, their distance is 2.14 cm and the angles of arrival are 21.3° and 90.0°, for the solo and accompaniment, respectively.

A. Algorithms

For comparison, we employ the following algorithms with the following settings. The chosen values were found to give subjectively the best result for each of the algorithms.

ANC: adaptive noise cancellation (see Section II-B), with M=1023 (filter order), μ=0.10 (step size). ANC′: ANC with inverse filtering (see Section II-C), with M=1023 (filter order), μ=0.01 (step size), P=15 (inverse filter order). MAW: moving-average Wiener filtering (see Section II-D), with M=1023 (filter order), N=16384 (sample size), L=64 (hop size). MAW′: MAW with spectral subtraction (see Section II-E), M=1023 (filter order), N=16384 (sample size), L=64 (hop size), N_(FFT)=4096 (FFT size), L_(FFT)=2048 (FFT hop size). SBW: subband Wiener filtering (see Section III-D), and N_(FFT)=4096 (FFT size), L_(FFT)=2048 (FFT hop size), Z=39 (number of subbands). SBW′: single-input-double-output SBW (see Section IV), N_(FFT)=4096 (FFT size), L_(FFT)=2048 (FFT hop size), Z=39 (number of subbands).

B. Metrics

As far as an objective quality assessment is concerned, it can be said that there is no consensus across the domain about an over applicable metric for audio enhancement algorithms. As for the various metrics that exist to assess speech quality, one should be aware that they apply only with restrictions. Music is much more complex than speech, to put it crudely. Metrics that came out from the source separation community are still far from the reality of perceived audio quality. Partially, they show a weak correlation or even contradict our perception. For these reasons, we resort to the following metrics. They have shown a certain degree of consistency on numerous occasions. These (and some other) metrics are:

RMSD:

the mean root-mean-square deviation averaged over non-overlapping data blocks of 23 ms duration,

$\begin{matrix} {{{RMSD} = {\frac{1}{T\sqrt{N}}{\sum\limits_{\tau = 1}^{T}\left\{ {\sum\limits_{k = 0}^{N - 1}\left\lbrack {{\hat{d}\left( {k,\tau} \right)} - {{h(k)}*{d\left( {k,\tau} \right)}}} \right\rbrack^{2}} \right\}^{1/2}}}},} & (47) \end{matrix}$

which is averaged over T blocks of length N,

SNRF:

a mean frequency-weighted signal-to-noise ratio averaged over frequency bands and time segments,

$\begin{matrix} {{{SNRF} = {\frac{10}{TZ}{\sum\limits_{\tau = 1}^{T}{\sum\limits_{\zeta = 1}^{Z}{\log_{10}\frac{\Psi_{S}\left( {\zeta,\tau} \right)}{\Psi_{N}\left( {\zeta,\tau} \right)}}}}}},} & (48) \\ {where} & \; \\ {{\Psi_{S}\left( {\zeta,\tau} \right)} = {\frac{1}{\Omega_{\zeta}}{\sum\limits_{\inf \; \Omega_{\zeta}}^{\sup \; \Omega_{\zeta}}{{{H(\omega)}{D\left( {\omega,\tau} \right)}}}^{2}}}} & (49) \end{matrix}$

∀ωεΩ_(ζ) and

$\begin{matrix} {{\Psi_{N}\left( {\zeta,\tau} \right)} = {\frac{1}{\Omega_{\zeta}}{\sum\limits_{\inf \; \Omega_{\zeta}}^{\sup \; \Omega_{\zeta}}\left\{ \left\lbrack {{{\hat{D}\left( {\omega,\tau} \right)}} - {{{H(\omega)}{D\left( {\omega,\tau} \right)}}}} \right\rbrack^{2} \right\}}}} & (50) \end{matrix}$

∀ωεΩ_(ζ), respectively,

MOS:

a mean opinion score computed with a basic version of PEAQ (acronym for “Perceptual Evaluation of Audio Quality”), and finally

RTF:

the real-time factor, defined as the execution time of the algorithm divided by the signal's duration (measured on an Intel Core i7-4510U CPU operating at 2.00 GHz).

C. Results

The simulation results for one example mixture (called “All Blues”) are listed in Table I. Best values are printed in bold.

TABLE I ANC ANC′ MAW MAW′ SBW SBW′ RMSD [dB] −31.0 −31.7 −32.3 −36.4 −37.7 −37.8 SNRF [dB] −10.6 −10.5 −11.4 −3.50 4.30 4.40 MOS 1.089 1.089 1.087 1.092 1.155 1.165 RTF 0.53 11.0 475 449 0.06 0.15

It can be seen that with pre-whitening the numerical similarity slightly improves for adaptive filtering. This, however, has not such a significant impact on the perception-related SNRF metric and the objective MOS, which is the same. The RTF, on the other hand, increases by a factor of 20 and the algorithm no longer runs in real time. Although numerically closer to the original than adaptive filtering, moving-average Wiener filtering in its basic form has a lower perceptual quality. A significant jump both numerically and perceptually can be observed when the matched signal is subtracted from the mixture in the spectral domain. But yet, the improvement surely does not justify the awfully long run time, which is around 400-500 times longer than real time. By far, the clear winner here is the ERB-band Wiener filtering algorithm. It shows the best accompaniment suppression performance, the highest perceptual quality, and it also has a virtually negligible run time.

Diversity improves the estimate only by a narrow margin at the cost of a double execution time (still faster than the adaptive noise canceller). It can be explained by the fact that for the greater part MRC corrects the phase of the estimate, which then again is much less critical as an error source than the magnitude, especially in terms of our perception. As a final remark, we would like to draw the reader's attention to the consistency between the SNRF and MOS trends over all algorithms.

FIGS. 5a, b illustrate the results from Table I in a bar diagram. They provide a comparison between various filtering approaches w.r.t. the chosen performance metrics for “All Blues”. Best values correspond to black bars.

VI. Evaluation

Here in this section, we carry out a thorough evaluation of the proposed approach that is based on short-time ERB-band Wiener filtering plus spectral subtraction. For this, and if not otherwise specified, we use the following parameters.

SISO Single-input-single-output: 4096-point fast Fourier transform, 2048-point overlap (50%), 4096-point Kaiser-Bessel derived (KBD) window, standard window shape, classical Wiener filter, equivalent-rectangular-bandwidth (ERB) scale, Manhattan distance (1-norm), equal RMS levels for solo and accompaniment, 32-sample channel delay (uncompensated).

SIDO Single-input-double-output: 2.14-cm distance between microphones, directional alignment with the instrument, solo coming from the front (90°) and accompaniment from the side (0°).

The SIDO case is an extension of the SISO case, and so, all the SISO parameters are the same for both cases. The results of the evaluation are summarized in FIGS. 6-9. Only the first two metrics, the RMSD and the SNRF, are further used.

A. Time and Frequency Resolution

FIGS. 6 a, b, c illustrate the algorithm performance as a function of (a) the FFT size, (b) the shape of the Kaiser-Bessel derived window w.r.t. its free parameter, and (c) the number of non-uniform subbands on a (pseudo-)FRB scale. Suggested values are underlined. On each box, the central mark is the median and the edges of the box are the 25th and 75th percentiles. The whiskers extend to the most extreme data points including outliers.

FIG. 6a gives rise to the impression that the similarity of the estimate increases with the length of the transform. If we look at the SNRF alone, however, we notice that it begins to saturate after a value of 4096. If we listen to the estimate, it is clearly audible that the attacks of the played notes largely disappear if we further increase the window. For this and for the reason of memory requirements, we suggest a 4096-point DFT. The shape of the window appears to be a minor issue. Thus, we recommend to use the standard value for its shape parameter, which is 4, see also FIG. 6b . With regard to the division of the frequency axis into nonuniform subbands, we may say the following the number of subbands depends on one's preference and the application. A lower number preserves more of the original signal, but also lets more interference leak in. A higher number, on the other hand, deals well with interference, yet takes away the crisp details from the original sound. For this reason, a too low or too high number of subbands should be avoided. We suggest to use the standard ERB scale that has 39 bands at 44.1-kHz sample rate and 16-kHz cutoff, see also FIG. 6 c.

B. Filtering and Subtraction

FIGS. 7a, b illustrate the algorithm performance as a function of (a) the exponent of the Wiener filter and (b) the spectral p-norm of the estimate, see (21). An exponent equal to 1.0 yields the Wiener filter in (35). An exponent equal to 0.5 yields the square-root Wiener filter. A p-value of 2 represents the Euclidean distance and a p-value of 1 represents the Manhattan distance, respectively. Suggested values are underlined. On each box, the central mark is the median and the edges of the box are the 25th and 75th percentiles. The whiskers extend to the most extreme data points including outliers.

What is said in the preceding paragraph also applies to the Wiener filter, i.e., there is a compromise to make. If the goal is to reduce the estimate's spectrum to its fewer components with a higher signal-to-interference ratio, the filter should be taken to a power lower than 1, see FIG. 7a . However in our opinion, the classical Wiener filter is a safer bet, since it can sufficiently attenuate interference, while keeping most of the signal's fine structure intact.

On the contrary, FIG. 7b leaves no doubt about the most performant distance metric. It is the 1-norm, which is known as the Manhattan distance. Note that the 1-norm outperforms the 2-norm perceptually, even though the 2-norm is naturally associated with the underlying statistical model.

C. Distance and Channel Delay

FIGS. 8a, b illustrate the algorithm performance as a function of (a) the RMS level (or SPL) difference in decibel between the recorded solo and accompaniment and (b) the delay (samples) mismatch in the channel model. On each box, the central mark is the median and the edges of the box are the 25th and 75th percentiles. The whiskers extend to the most extreme data points including outliers.

FIG. 8a simply confirms the blatantly obvious: the quality of the estimate is much higher, when the instrument is closer to the microphone or louder than the speaker. This leads to a higher solo-to-accompaniment ratio in the recording, and so, the subtracted accompaniment estimate leaves less traces.

More interesting, however, is FIG. 8b . It says that as long as the channel delay between the speaker and the microphone is much shorter than the transform length, its impact is null. This can be assumed to be the case for a tablet computer. It should still be noted that hardware delay may have a (much) greater impact depending on its latency time.

D. Spatial Alignment

FIGS. 9a,b illustrate the algorithm performance as a function of (a) the distance between the microphones and (b) the angular mismatch in degrees between the true and the estimated direction of arrival of the solo. The underlined value corresponds to half-wave spacing for a frequency of 8 kHz at 44.1-kHz sample rate. On each box, the central mark is the median and the edges of the box are the 25th and 75th percentiles. The whiskers extend to the most extreme data points including outliers.

Looking at FIG. 9a it seems that in the case where a pair of microphones is utilized to capture the composite signal in conjunction with maximal-ratio combining, the spacing is of vital importance. In our test, MRC performed best when the spacing between the microphones was equal to half the wave length of an 8-kHz signal. Especially w.r.t. transient artifacts, the enhancement was clearly noticeable.

Finally, FIG. 9b shows that a significant deviation in the angle estimate (related to the position of the guitar amplifier) is detrimental to sound quality. Nevertheless, a small error is certainly tolerable in most cases.

E. General Remarks

While the RMSD indicates a numerical deviation between the estimated and the desired signal, the SNRF is capable of capturing the perceptual component of an audio signal. If we look at the figures where we underlined the values for which we think the algorithm works best, we may observe that our perception correlates with the SNRF metric quite strongly. In consequence, we propose to employ the SNRF as a standard metric for similar tasks. Nevertheless, we would like to point out that the SNRF has a tendency to give a high score to an estimate in which the noise or interference is suppressed to a very high degree. The corresponding signal may be perceived as condensed or less natural by the listener. From a machine perspective then again, the signal might be easier to analyze, since it contains the most dominant components, and what is more, the latter are associated with a low error.

In regard to the improvement that is achievable with a pair of microphones, or a microphone array in general, we would like to add the following. MRC as a post-processor is meant to correct the phase of the estimate after the accompaniment was subtracted from each channel separately. This has for effect a reduction of transient interference. As a rule, these transients are suppressed insufficiently by the core algorithm, because the transform is applied to a long window and because the sample covariance between the spectra of a note and a percussive hit has a high magnitude.

Altering the phase of the estimate, MRC essentially destroys the phase of the transient residual, which hence becomes not so or simply less prominent. According to some embodiments, the array is aligned with the spatial acoustics, as shown in FIG. 9. The achievable gain appears to be meager, particularly in view of the fact that additional hardware is necessary. A pragmatic solution would consist in using a guitar pickup or placing an external microphone close to the instrument or the amplifier, so that the recording exhibits a low interference. This would improve the estimate more than MRC, see FIG. 8 a.

FIG. 3 schematically describes an electronic device according to an embodiment of the invention. The electronic device may be a personal computer, a laptop, a tablet computer, a smartphone, a game station or the like. The electronic device comprises a central processor CPU, a Random-Access-Memory RAM, a disk storage DS (such as a hard disk drive, and/or an optical disk drive, or the like), an Input/Output interface I/O (such as an Ethernet interface, a WLAN interface, a Bluetooth interface, and/or, USB-port, etc) for communicating with external devices or the Internet. The electronic device further comprises a microphone MIC for capturing sound signals, and a speaker SPK for producing sound signals. Entities as for example the audio player and/or audio renderer may be implemented as software stored on the disk storage and/or (temporally) in the RAM. Entities like the microphone MIC, the speaker SPK and the disk storage DS might as well be located outside the electronic device, but connected to the electronic device.

FIG. 10 schematically describes a method according to an embodiment of the invention. At S101, an input signal x(k) is captured. At S102, a non-stationary reference signal s₀(k) is rendered. At S103, an estimation signal y(k) is determined based on input signal x(k) and based on non-stationary reference signal s₀(k). At S104, an estimation error signal e(k) is determined based on the input signal and based on the estimation signal y(k). At S105, the estimation error signal e(k) is output. The determination of the estimation signal y(k) in S103 and the determination of the estimation error signal e(k) in S104 can be performed according to the principles described in the disclosure above.

Music signals pose a challenge for the existing theory on statistical signal processing. This is due to its band width, its spectral dynamics, and its non-stationarity. The above disclosure shows that the convergence rate of the LMS filter is not fast enough to keep pace with transient music signals. Inverse filtering is a help but costs too much and the result is not satisfactory. A Wiener-type filter is better, but only if the difference signal is computed in the frequency domain. It is, however, intractable from a computational point of view. A short-time Wiener can be viewed as the best and the cheapest solution, especially if the filtering is carried out in ERB-bands.

When using a microphone array, maximal-ratio combining can reduce the audible artifacts due to residual transients that reside in the solo after accompaniment cancellation. For this, the array should be aligned with the instrument. The spacing between the array elements is also important. The quality of the solo mainly depends on the distance of the sound source w.r.t. the sink: The closer the instrument to the microphone or, more generally speaking, the louder the instrument in the recorded signal, the higher the quality of the solo. On a final note, the SNRF appears to be sufficiently correlated with perception to predict relative tendencies. Therefore, we recommend it as a reference metric for the assessment of quality for speech and audio.

The skilled person will also recognize that the embodiments describe methods with an exemplary ordering of method steps. The specific ordering of method steps is however given for illustrative purposes only and should not be construed as binding. For example the ordering of S101 and S102 in the embodiment of FIG. 10 may be exchanged.

The skilled person will also recognize that the division of the electronic device of FIG. 3 into units MIC, SPK, I/O, CPU, RAM, and DS is only made for illustration purposes and that the present disclosure is not limited to any specific division of functions in specific units. For instance, the I/O component of FIG. 3 could be implemented as part of a CPU by a respective programmed processor, field programmable gate array (FPGA) and the like. Likewise a CPU can comprise internal RAM, for example in form of a cache.

The skilled person will also recognize that although FIG. 3 shows only one microphone MIC as component of the electronic device, multiple microphones may be implemented in or together with the electronic device. For example, in a Single-Input-Double-Output scenario as described in section IV-A, two microphones MIC1 and MIC2 may be employed.

The skilled person will also recognize that in alternative embodiments, some of the components of the electronic device of FIG. 3 may be located outside of the electronic device. For example an external microphone MIC or an external disk storage DS may be connected to the electronic device.

The methods described here can also be implemented as a computer program causing a computer and/or a processor, such as the CPU in the electronic device of FIG. 3 discussed above, to perform the method, when being carried out on the computer and/or processor. In some embodiments, also a non-transitory computer-readable recording medium is provided that stores therein a computer program product, which, when executed by a processor, such as the processor described above, causes the method described to be performed.

All units and entities described in this specification and claimed in the appended claims can, if not stated otherwise, be implemented as integrated circuit logic, for example on a chip, and functionality provided by such units and entities can, if not stated otherwise, be implemented by software.

In so far as the embodiments of the disclosure described above are implemented, at least in part, using software-controlled data processing electronic device, it will be appreciated that a computer program providing such software control and a transmission, storage or other medium by which such a computer program is provided are envisaged as aspects of the present disclosure.

It should also be recognized that the present technology can also be configured as described below.

(1) An electronic device comprising: a processor arranged to determine an estimation signal (y(k)) based on an input signal (x(k)) and a non-stationary reference signal (s₀(k)). (2) The electronic device of (1) wherein the input signal (x(k)) is composed of a modified version of the non-stationary reference signal (h(k)*s(k)) and a signal of interest (h(k)*d(k)). (3) The electronic device of (2) wherein the modified version of the non-stationary reference signal (h(k)*s(k)) corresponds to a recorded accompaniment and the signal of interest (h(k)*d(k)) corresponds to a recorded solo. (4) The electronic device of anyone of (1) to (3) wherein the non-stationary reference signal (s₀(k)) is a predefined audio accompaniment signal. (5) The electronic device of anyone of (1) or (4) wherein the processor is further arranged to render the non-stationary reference signal (s₀(k)) based on an audio file and/or based on an automatic accompaniment generation engine. (6) The electronic device of anyone of (1) to (5) wherein the processor is further arranged to determine the estimation signal (y(k)) by applying moving-average Wiener filtering. (7) The electronic device of anyone of (1) to (6) wherein the processor is further arranged to determine an auto-covariance matrix ({circumflex over (R)}_(s) ₀ _(s) ₀ (k)) for the non-stationary reference signal (s₀(k)), and to determine a cross-covariance matrix for the input signal (x(k)) and the non-stationary reference signal (s₀(k)). (8) The electronic device of anyone of (1) to (7) wherein the processor is further arranged to determine optimal filter weights (w_(o)(k)) based on the auto-covariance matrix ({circumflex over (R)}_(s) ₀ _(s) ₀ (k)) and based on the cross-covariance matrix ({circumflex over (p)}_(s) ₀ _(x)(k)). (9) The electronic device of anyone of (1) to (8) wherein the processor is further arranged to determine the estimation signal (y(k)) by applying short-time subband Wiener filtering. (10) The electronic device of anyone of (1) to (9) wherein the processor is further arranged to transform the non-stationary reference signal (s₀(k)) and the input signal (x(k)) into the frequency-domain in order to obtain a frequency-domain reference signal (S₀(ω), and, respectively, a frequency-domain input signal (X(ω)). (11) The electronic device of anyone of (1) to (10) wherein the processor is further arranged to form subbands (Ω_(ζ)) on the equivalent rectangular bandwidth rate scale. (12) The electronic device of (11) wherein the processor is further arranged to determine centroids (S₀(ζ), X(ζ)) of the frequency-domain reference signal (S₀(ω)), and, respectively, the frequency-domain input signal (X(ω)) in the subbands (Ω_(ζ)). (13) The electronic device of (12) wherein the processor is further arranged to determine a frequency-domain estimation signal (Y(ω)) based on the centroids (S₀(ζ), X(ζ)). (14) The electronic device of anyone of (1) to (13) wherein the processor is further arranged to determine the estimation signal (y(k)) based on a single-input-double-output signal model. (15) The electronic device of anyone of (1) to (14) wherein the processor is further arranged to determine an estimation error signal (e(k)) based on the observed signal (x(k)) and based on the estimation signal (y(k)). (16) The electronic device of (15) wherein the processor is further arranged to determine the estimation error signal (e(k)) by subtracting the estimation signal (y(k)) and the observed signal (x(k)) in the spectral domain. (17) The electronic device of (15) or (16) wherein the processor is further arranged to output the estimation error signal (e(k)) as an estimated audio solo signal. (18) The electronic device of anyone of (1) to (17), further comprising a microphone for capturing the input signal (x(k)). (19) A method comprising:

-   -   determining an estimation signal (y(k)) based on an input signal         (x(k)) and based on a non-stationary reference signal (s₀(k),         {tilde over (s)}₀(k)).         (20) The method of (19) wherein the input signal (x(k)) is         composed of a modified version of the non-stationary reference         signal (h(k)*s(k)) and a signal of interest (h(k)*d(k)).         (21) The method of (20) wherein the modified version of the         non-stationary reference signal (h(k)*s(k)) corresponds to a         recorded accompaniment and the signal of interest (h(k)*d(k))         corresponds to a recorded solo.         (22) Any method of (19) to (21) wherein the non-stationary         reference signal (s₀(k)) is a predefined audio accompaniment         signal.         (23) The method of anyone of (19) or (22) further comprising         rendering the non-stationary reference signal (s₀(k)) based on         an audio file and/or based on an automatic accompaniment         generation engine.         (24) The method of anyone of (19) to (23) further comprising         determining the estimation signal (y(k)) by applying         moving-average Wiener filtering.         (25) The method of anyone of (19) to (24) further comprising         determining an auto-covariance matrix ({circumflex over (R)}_(s)         ₀ _(s) ₀ (k)) based on the non-stationary reference signal         (s₀(k)), and to determine a cross-covariance matrix based on the         input signal (x(k)) and the non-stationary reference signal         (s₀(k)).         (26) The method of anyone of (19) to (25) further comprising         determining optimal filter weights (w_(o)(k)) based on the         auto-covariance matrix ({circumflex over (R)}_(s) ₀ _(s) ₀ (k))         and based on the cross-covariance matrix ({circumflex over         (p)}_(s) ₀ _(x)(k)).         (27) The method of anyone of (19) to (26) further comprising         determining the estimation signal (y(k)) by applying short-time         subband Wiener filtering.         (28) The method of anyone of (19) to (27) further comprising         transforming the non-stationary reference signal (s₀(k)) and the         input signal (x(k)) into the frequency-domain in order to obtain         a frequency-domain reference signal (S₀(ω)), and, respectively,         a frequency-domain input signal (X(ω)).         (29) The method of anyone of (19) to (28) further comprising         forming subbands (Ω_(ζ)) on the equivalent rectangular bandwidth         rate scale.         (30) The method of (29) further comprising determining centroids         (S₀(ζ), X(ζ)) of the frequency-domain reference signal (S₀(ω)),         and, respectively, the frequency-domain input signal (X(ω)) in         the subbands (Ω_(ζ)).         (31) The method of (30) further comprising determining a         frequency-domain estimation signal (Y(ω)) based on the centroids         (S₀(ζ),X(ζ)).         (32) The method of anyone of (19) to (31) determining the         estimation signal (y(k)) based on a single-input-double-output         signal model.         (33) The method of anyone of (19) to (32) further comprising         determining an estimation error signal (e(k)) based on the         observed signal (x(k)) and based on the estimation signal         (y(k)).         (34) The method of (33) further comprising determining the         estimation error signal (e(k)) by subtracting the estimation         signal (y(k)) and the observed signal (x(k)) in the spectral         domain.         (35) The method of (33) or (34) further comprising outputting         the estimation error signal (e(k)) as an estimated audio solo         signal.         (36) The method of anyone of (19) to (35), further comprising         capturing the input signal (x(k)) with a microphone.         (37) A computer program comprising instructions, the         instructions when executed on a processor causing the processor         to:     -   determine an estimation signal (y(k)) based on an input signal         (x(k)) and based on a non-stationary reference signal (s₀(k),         {tilde over (s)}₀(k)).         (38) A computer program comprising instructions, the         instructions when executed on a processor causing the processor         to perform the method of anyone of (19) to (36).         (39) A non-transitory computer-readable recording medium that         stores therein a computer program product, which, when executed         by a processor, causes the method according to anyone of (19)         to (36) to be performed.

REFERENCE SIGNS MIC Microphone SPK Speaker CPU Central Processing Unit RAM Random-Access Memory DS Disk Storage I/O Input/Output

x(k) input signal (observed signal) X(ω) input signal (frequency-domain) s(k) accompaniment contribution to x(k) d(k) solo contribution to x(k) s₀(k) non-stationary reference signal (reference accompaniment) {tilde over (s)}₀(k) inverse filtered non-stationary reference signal S₀(ω) reference signal (frequency-domain) y(k) estimation signal (matched accompaniment) Y(ω) estimation signal (frequency-domain) e(k) estimation error signal (estimate of solo) E(ω) estimation error signal (frequency-domain) g(k) speaker function h(k) impulse response of microphone κ delay A attenuation w(k) filter weights (transversal finite impuls response or FIR filter) w_(o)(k) optimal filter weights {circumflex over (R)}_(s) ₀ _(s) ₀ (k) auto-covariance matrix (sample estimates) {circumflex over (p)}_(s) ₀ _(x)(k) cross-covariance matrix (sample estimates) Ω_(ζ) subband ζ ζ (subband index (ζ=1, . . . , Z) Z total number of subbands S₀(ζ) subband centroids of non-stationary reference signal (time-domain) X(ζ) subband centroids of input signal (time-domain) 

1. An electronic device comprising: a processor arranged to determine an estimation signal based on an input signal and based on a non-stationary reference signal.
 2. The electronic device of claim 1 wherein the input signal is composed of a modified version of the non-stationary reference signal and a signal of interest.
 3. The electronic device of claim 2 wherein the modified version of the non-stationary reference signal corresponds to a recorded accompaniment and the signal of interest corresponds to a recorded solo.
 4. The electronic device of claim 1 wherein the non-stationary reference signal is a predefined audio accompaniment signal.
 5. The electronic device of claim 1, wherein the processor is further arranged to render the non-stationary reference signal based on an audio file and/or based on an automatic accompaniment generation engine.
 6. The electronic device of claim 1 wherein the processor is further arranged to determine the estimation signal by applying moving-average Wiener filtering.
 7. The electronic device of claim 1 wherein the processor is further arranged to determine an auto-covariance matrix based on the non-stationary reference signal, and to determine a cross-covariance matrix based on the input signal and the non-stationary reference signal.
 8. The electronic device of claim 7 wherein the processor is further arranged to determine optimal filter weights based on the auto-covariance matrix and based on the cross-covariance matrix.
 9. The electronic device of claim 1 wherein the processor is further arranged to determine the estimation signal by applying short-time subband Wiener filtering.
 10. The electronic device of claim 1 wherein the processor is further arranged to transform the non-stationary reference signal and the input signal into the frequency-domain in order to obtain a frequency-domain reference signal, and, respectively, a frequency-domain input signal.
 11. The electronic device of claim 10 wherein the processor is further arranged to form subbands on the equivalent rectangular bandwidth rate scale.
 12. The electronic device of claim 11 wherein the processor is further arranged to determine centroids of the frequency-domain reference signal, and, respectively, the frequency-domain input signal in the subbands.
 13. The electronic device of claim 12 wherein the processor is further arranged to determine a frequency-domain estimation signal based on the centroids.
 14. The electronic device of claim 1 wherein the processor is further arranged to determine the estimation signal based on a single-input-double-output signal model.
 15. The electronic device of claim 1 wherein the processor is further arranged to determine an estimation error signal based on the observed signal and based on the estimation signal.
 16. The electronic device of claim 15 wherein the processor is further arranged to determine the estimation error signal by subtracting the estimation signal and the observed signal in the spectral domain.
 17. The electronic device of claim 15, wherein the processor is further arranged to output the estimation error signal as an estimated audio solo signal.
 18. The electronic device of claim 1, further comprising a microphone for capturing the input signal.
 19. A method comprising: determining an estimation signal based on an input signal and based on a non-stationary reference signal.
 20. A computer program comprising instructions, the instructions when executed on a processor causing the processor to: determine an estimation signal based on an input signal and based on a non-stationary reference signal. 